package com.mk.cloud.common.msg.template;

import com.mk.cloud.common.enums.GlobalValues;
import org.osgl.util.C;

import java.util.Map;
import java.util.Set;

/**
 * 系统公告发布
 */
public interface MsNotic extends MsgTemplate {
    default Set<String> phones() {
        return null;
    }

    @Override default Set<String> userids() {
        return null;
    }

    @Override default Set<String> usertypes() {
        return C.newSet(C.listOf(usertype().split(",")));
    }

    @Override default int _channels() {
        String[] channels = channel().split(",");
        int result = 0;
        for (String channel : channels) {
            result |= Integer.parseInt(channel);
        }
        return result;
    }

    @Override default String _mtype() {
        return GlobalValues.MSTYPE_0.value();
    }

    @Override default String _sms_code() {
        return code();
    }

    @Override default boolean _save() {
        return true;
    }

    @Override default Map<String, String> params() {
        return null;
    }


    /**
     * 短信编码
     */
    String code();

    /**
     * 消息往哪发？
     * 渠道编号,
     */
    String channel();

    /**
     * 发给哪些人？
     * 用户类型,
     */
    String usertype();
}
